package com.zmzncs.lmtc.module.park.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zmzncs.lmtc.common.pojo.bolian.BoLianParkUpdateForm;
import com.zmzncs.lmtc.common.pojo.bolian.BolianQueryParkByIdRes;
import com.zmzncs.lmtc.common.pojo.bolian.QuoteField;
import com.zmzncs.lmtc.module.park.pojo.park_info.*;
import com.baomidou.mybatisplus.extension.service.IService;
import lombok.NonNull;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 任建波
 * @since 2020-09-29
 */
public interface ParkInfoService extends IService<ParkInfo> {

    /**
     * 获取停车场列表
     */
    List<ParkInfoDTO> getParkList();

    /**
     * 获取停车场分页列表
     */
    IPage<ParkInfoDTO> getParkPage(ParkInfoListForm form);

    /**
     * 获取咪网停车场信息
     */
    ParkInfoDTO getParkingLotByCode(String partnerCode);

    /**
     * 咪网停车场从泊链更新/禁用
     */
    void updateParkToBolian(BoLianParkUpdateForm form);

    /**
     * 上传泊链停车场信息 处理返回信息
     */
    void addBolianParkResult(Long parkId, String resultStr);

    /**
     * 查询泊链停车场信息
     */
    BolianQueryParkByIdRes getBolianParkInfo(String comId);

    /**
     * 泊链车场数据更新到数据库
     */
    void updateDateToParkInfo(String bolianComId, List<QuoteField> bolianPulls);

    /**
     * 添加停车场信息
     */
    void addParkInfo(ParkInfoAddFrom from);

    /**
     * 添加腾达停车场信息
     */
    void addTengdaPark(TengdaParkAddForm form);

    /**
     * 查询未设置车场主的停车场信息
     */
    List<ParkInfoDTO> noManagerPark();

    /**
     * 获取道尔停车场信息
     */
    void getDaoErParkInfo(DaoerParkAddForm form);

    /**查询未设置预约规则的停车场*/
    List<ParkInfoDTO> getNoReservePark();

}
